package com.docmgmt.mvp.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 单轮对话详情VO
 *
 * @author Dora
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ConversationVO {

    /**
     * 问答ID
     */
    private Long id;

    /**
     * 所属对话ID
     */
    @JsonProperty("dialogId")
    private Long dialogId;

    /**
     * 轮次
     */
    private Integer round;

    /**
     * 用户ID
     */
    @JsonProperty("userId")
    private Long userId;

    /**
     * 用户名（前端显示）
     */
    @JsonProperty("userName")
    private String userName;

    /**
     * 用户问题
     */
    private String query;

    /**
     * AI答案
     */
    private String answer;

    /**
     * 文档引用列表
     */
    private List<ReferenceVO> references;

    /**
     * Token消耗量
     */
    @JsonProperty("tokensUsed")
    private Integer tokensUsed;

    /**
     * 响应时间（毫秒）
     */
    @JsonProperty("responseTimeMs")
    private Integer responseTimeMs;

    /**
     * 用户反馈：positive/negative/none
     */
    private String feedback;

    /**
     * 创建时间
     */
    @JsonProperty("createdAt")
    private LocalDateTime createdAt;
}
